package com.itlong.cloud.POJO.DTO.property;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      云电梯iot预约消息数据传输实体类
 * </desc>
 *
 * @createDate 2018/04/12
 */
@Data
@NoArgsConstructor
public class CloudElevatorIotCallCtrlMessageDTO {
    private String sourceFrom;                                          //命令发起标识
    /**
     * cmdVer	命令版本	String	Y	命令版本，不同版本data字段格式不同，默认为”0”
     * data	外呼数据	JsonArray	N	Json数组
     * 外呼数据（data）说明：
     * upDown	上行/下行状态	String	Y	用户需要上行/下行 1：下降(DN) 2：上升(UP)
     * startingFloor	起始楼层	String	N	范围：-8~112
     * gotoFloor	目的楼层	String	N	范围：-8~112
     */
    private Map<String,Object> out;                               //外呼指令

    /**
     * cmdVer	命令版本	String	Y	命令版本，不同版本字段不同
     * data	外呼数据
     * 内召数据（data）说明：
     * module	模块编号	String	Y	模块编号：
     * 0-表示floor字段表示的是1-128层
     * 1-表示floor字段表示的是129-256层
     * 目前设备最高仅支持1112层，该字段填0或不存在。
     * floor	楼层权限	String	N	固定32个ascii码，设备转换为16字节的16进制数进行解析，每1位代表1个楼层，置1代表开放对应楼层。
     * 例如，“8F00000000000000000000000000000”表示开放1、5、6、7、8楼
     * time	开放时间	String	Y	范围：0~600
     * 单位：秒
     * 表示电梯按键开放时长。
     * time字段不存在或值为0是代表自动登记
     * time字段存在且值非零时代表手动开放时长
     * negativeFloor	负楼层	String	Y	固定2个ascii码，设备转换为1字节的16进制数进行解析，每1位代表1个楼层，置1代表开放对应楼层。例如“01”表示-1楼开放 80
     * 1000 0000
     */
    private Map<String,Object> in;                                //内召指令
}
